package	com.sdry.service.impl.newAdd;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.sdry.mapper.newAdd.ReceivableMapper;
import com.sdry.model.newAdd.Finance;
import com.sdry.model.newAdd.Receivable;
import com.sdry.service.newAdd.ReceivableService;
/**
 *
 *@ClassName: ReceivableService
 *@Description: 应收账
 *@Author tdd
 *@Date 2019-07-08 10:51:52
 *@version 1.0
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ReceivableServiceImpl implements ReceivableService {
	@Resource ReceivableMapper receivableMapper;
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public Receivable queryById(Long id) {
		return receivableMapper.queryById(id);
	}
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Receivable> queryAllByMution(Receivable param) {
		return receivableMapper.queryAllByMution(param);
	}
	/** 
	 * 应收对账报表条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	 */
	public List<Receivable> findReportPageByMution(Receivable param) {
		return receivableMapper.findReportPageByMution(param);
	}
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Receivable> findPageByMution(Receivable param) {
		return receivableMapper.findPageByMution(param);
	}
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(Receivable param) {
		return receivableMapper.selectCountByMution(param);
	}
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(Receivable param) {
		return receivableMapper.insert(param);
	}
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(Receivable param) {
		return receivableMapper.update(param);
	}
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids) {
		return receivableMapper.delete(ids);
	}
	/**
	 * 财务报表管理条件分页查询
	 * @param page 页数
	 * @param pageSize 每页条数
	 * @param client_id 客户
	 * @param type 报表类型
	 * @param id 项目id
	 * @param create_date 日期
	 * @return 财务报表
	 */
	public List<Finance> findFinancePageByMution(int page, int pageSize,
			Long client_id, String type, Long id,String create_date) {
		return receivableMapper.findFinancePageByMution(page, pageSize, client_id, type, id,create_date);
	}
	/**
	 * 财务报表管理条件查询记录数
	 * @param client_id 客户
	 * @param type 报表类型
	 * @param id 项目id
	 * @param create_date 日期
	 * @return 财务报表
	 */
	public Integer selectFinanceCountByMution(Long client_id, String type,
			Long id,String create_date) {
		return receivableMapper.selectFinanceCountByMution(client_id, type, id,create_date);
	}
}
